using System;
using System.Collections.Generic;

namespace libcharakter
{
	namespace Talente
	{
		namespace Geselschaft
		{
			[Serializable]
			public class GeselschaflicheTalent : abTalent
			{
				public GeselschaflicheTalent (string name, int value, Charakter charakter)
					: base(name, value, TalentType.Gesellschaft, TableColum.B, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{ 
					return false; 
				}
			}
			[Serializable]
			public class Betoeren : GeselschaflicheTalent 
			{
				public Betoeren (int value, Charakter charakter) : base("Betören", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Intuition"], eg["Charisma"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Etikette : GeselschaflicheTalent 
			{
				public Etikette (int value, Charakter charakter) : base("Etikette", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Gassenwissen : GeselschaflicheTalent 
			{
				public Gassenwissen (int value, Charakter charakter) : base("Gassenwissen", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Lehren : GeselschaflicheTalent 
			{
				public Lehren (int value, Charakter charakter) : base("Lehren", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Menschenkenntnis : GeselschaflicheTalent 
			{
				public Menschenkenntnis (int value, Charakter charakter) : base("Menschenkenntnis", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class SichVerkleiden : GeselschaflicheTalent 
			{
				public SichVerkleiden (int value, Charakter charakter) : base("Sich Verkleiden", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Mut"], eg["Charisma"], eg["Gewandheit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Ueberreden : GeselschaflicheTalent 
			{
				public Ueberreden (int value, Charakter charakter) : base("Überreden", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Ueberzeugen : GeselschaflicheTalent 
			{
				public Ueberzeugen (int value, Charakter charakter) : base("Überzeugen", value, charakter) {  }
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
		}
	}
}

